package com.tyk.bookstore.back.message.util;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tyk.bookstore.back.message.model.entity.InfoNoticeDo;
import com.tyk.bookstore.back.message.model.entity.ServiceNoticeDo;
import com.tyk.bookstore.back.message.model.query.InfoNoticeAddQuery;
import com.tyk.bookstore.back.message.model.query.InfoNoticeUpdateQuery;
import com.tyk.bookstore.back.message.model.query.ServiceNoticeAddQuery;
import com.tyk.bookstore.back.message.model.query.ServiceNoticeUpdateQuery;
import com.tyk.bookstore.back.message.model.vo.InfoNoticePageVo;
import com.tyk.bookstore.back.message.model.vo.InfoNoticeVo;
import com.tyk.bookstore.back.message.model.vo.ServiceNoticePageVo;
import com.tyk.bookstore.back.message.model.vo.ServiceNoticeVo;
import org.mapstruct.Mapper;

@Mapper(componentModel = "spring")
public interface MapStructMessage {
    InfoNoticeVo toInfoNoticeVo(InfoNoticeDo infoNotice);

    InfoNoticePageVo toInfoNoticePageVo(Page<InfoNoticeDo> page);

    ServiceNoticeVo toServiceNoticeVo(ServiceNoticeDo notice);

    ServiceNoticePageVo toServiceNoticePageVo(Page<ServiceNoticeDo> page);

    InfoNoticeDo toInfoNoticeDo(InfoNoticeAddQuery query);

    InfoNoticeDo toInfoNoticeDo(InfoNoticeUpdateQuery query);

    ServiceNoticeDo toServiceNoticeDo(ServiceNoticeAddQuery query);

    ServiceNoticeDo toServiceNoticeDo(ServiceNoticeUpdateQuery query);
}
